package cn.myiotest.test8;

import java.io.*;
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        /*
        需求：写一个登陆小案例（添加锁定账号功能）

        步骤：
        	将正确的用户名和密码手动保存在本地的userinfo.txt文件中。
        	保存格式为:username=zhangsan&password=123&count=0
        	让用户键盘录入用户名和密码
        	比较用户录入的和正确的用户名密码是否一致
        	如果一致则打印登陆成功
        	如果不一致则打印登陆失败，连续输错三次被锁定

        */

        //1.读取正确的用户名和密码
        String[] arr1 = null;
        String[] arr2 = null;
        String[] arr3 = null;
        try(BufferedReader br = new BufferedReader(new FileReader("move/userinfo2.txt"))){
            String s = br.readLine();
            String[] split = s.split("&");
            arr1 = split[0].split("=");
            arr2 = split[1].split("=");
            arr3 = split[2].split("=");
        }catch (IOException e){
            e.printStackTrace();
        }
        int count = Integer.parseInt(arr3[1]);

        //2.用户键盘录入用户名和密码
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入用户名");
        String username = sc.nextLine();
        System.out.println("请输入密码");
        String password = sc.nextLine();
        if (username.equals(arr1[1]) && password.equals(arr2[1]) && count < 3){
            System.out.println("登陆成功");
            writeInfo("username=" + arr1[1] + "&password=" + arr2[1] + "&count=0");
            return;
        }
        count++;
        if (count<3){
            System.out.println("登陆失败,还剩下" + (3 - count) + "次机会");
            writeInfo("username=" + arr1[1] + "&password=" + arr2[1] + "&count=" + count);
        }else{
            System.out.println("用户账户被锁定");
        }
        // System.out.println(Arrays.toString(arr1));
        // System.out.println(Arrays.toString(arr2));
        // System.out.println(Arrays.toString(arr3));
    }

    /*
     * 作用：
     *       写出一个字符串到本地文件中
     * 参数：
     *       要写出的字符串
     * */
    public static void writeInfo(String content) {
        try(BufferedWriter bw = new BufferedWriter(new FileWriter("move/userinfo2.txt"))){
            bw.write(content);
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}
